﻿using Freshbox2._0.BLL;
using Freshbox2._0.MODEL;
using Freshbox2._0.WEBAPI.Filters;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;
using System.Web;
using System.Web.Http;

namespace Freshbox2._0.WEBAPI.Controllers
{
    public class LoginController : ApiController
    {
      
        public class Login
        {
            public string username { get; set; }
            public string password { get; set; }
        }

        //[LoginCheck(IsCheck = false)]
        //public IHttpActionResult Post(Login loginInfo)
        //{
        //    ManagerBll bllUser = new ManagerBll();
        //    string md5Pwd = MD5Encrypt32(loginInfo.password);
        //    manager userModel = bllUser.Search(x => x.managerName == loginInfo.username && x.managerPass == md5Pwd).ToList().FirstOrDefault();

        //    if (userModel != null)
        //    {
        //        string token = GetMD5(userModel.managerCode.ToString() + GetMD5(loginInfo.password));
        //        HttpRuntime.Cache.Insert(userModel.managerCode.ToString(), token, null, DateTime.Now.AddDays(30), System.Web.Caching.Cache.NoSlidingExpiration);
        //        var obj = new { success = true, userid = userModel.managerCode, token = token };
        //        return Json(obj);
        //    }
        //    else
        //    {
        //        var objFail = new { success = false, msg = "登录失败，用户名和密码错误！" };
        //        return Json(objFail);
        //    }
        //}
        //public static String GetMD5(string sDataIn)
        //{
        //    MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
        //    byte[] bytValue, bytHash;
        //    bytValue = System.Text.Encoding.UTF8.GetBytes(sDataIn);
        //    bytHash = md5.ComputeHash(bytValue);
        //    md5.Clear();
        //    string sTemp = "";
        //    for (int i = 0; i < bytHash.Length; i++)
        //    {
        //        sTemp += bytHash[i].ToString("X").PadLeft(2, '0');
        //    }
        //    return sTemp.ToLower();
        //}
        ////MD5加密方法  32位加密
        //public static string MD5Encrypt32(string password)
        //{
        //    string cl = password;
        //    string pwd = "";
        //    MD5 md5 = MD5.Create(); //实例化一个md5对像
        //    // 加密后是一个字节类型的数组，这里要注意编码UTF8/Unicode等的选择　
        //    byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
        //    // 通过使用循环，将字节类型的数组转换为字符串，此字符串是常规字符格式化所得
        //    for (int i = 0; i < s.Length; i++)
        //    {
        //        // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母，如果使用大写（X）则格式后的字符是大写字符 
        //        pwd = pwd + s[i].ToString("X");
        //    }
        //    return pwd;
        //}
    }
}
